py3.10-prep: Fix parser.py for changed typing module
The typing module has subtle changes that are not even
documented: Typing types now have a __name__ attribute.
That confused the parser of the pyi generator because
suddenly stingizing
Callable[..., Optional[str]]
resulted in
Callable[..., Optional]
because of special rules that return the generic name
of a typing type, which was very unexpected. Finding this bug
took a lot of debugging of the recursive `_resolve_type`
function.
py3.10-prep: reset the type cache after feature switching
When using feature switching in Python 3.10, there were
funny effects where switched and un-switched versions appeared
to co-exist.
It turned out that we were hit by function caching that
is now implemented for the LOAD_ATTR opcode.
It was not known that caching would happen at all for
PySide classes because we don't use Py_TPFLAGS_VALID_VERSION_TAG.
But actually, this flag is used internally by Python to do some
optimizations, and we just have to notify the interpreter of
type changes by PyType_Modified().
Christian Tismer [Wed, 23 Dec 2020 11:28:16 +0000 (13:28 +0200)]
qApp: fix flag handling in Python 3.8+ and a Python 3.9 issue
This is an old problem that was solved for Python 2.7.
From Python 3.8 on, the behavior is the same with Python 3.
The fix finally was to extend a Python 2.7 patch to Python 3
as well. See the Jira issue for details.
This patch includes also a small patch that was mentioned as
necessary for Python 3.9: Python issue 40217. I have seen no
effect of this change yet but applied the patch, anyway.
Dmitry Shachnev [Wed, 16 Dec 2020 17:26:18 +0000 (20:26 +0300)]
Pass --reuse-build only to commands that use DistUtilsCommandMixin
This is a concatenation of two upstream commits:
- https://code.qt.io/cgit/pyside/pyside-setup.git/commit/?id=ed0571df854a232e
- https://code.qt.io/cgit/pyside/pyside-setup.git/commit/?id=3f00c2adad2e38b0
Dmitry Shachnev [Tue, 16 Nov 2021 09:16:14 +0000 (09:16 +0000)]
pyside2 (5.15.2-2) unstable; urgency=medium
* Backport upstream patches for Python 3.10 support (closes: #999369).
* Backport upstream patch to adapt for LLVM 12.01.
* Run build-time tests with all supported Python versions.
- Add a patch to make the tests find the matching build directory.